Workflow Application
   HOME

TheInfoList



OR:

A workflow application is a
software application Software is a set of computer programs and associated documentation and data. This is in contrast to hardware, from which the system is built and which actually performs the work. At the lowest programming level, executable code consists ...
which automates, to at least some degree, a process or processes. The processes are usually business-related but can be any process that requires a series of steps to be automated via
software Software is a set of computer programs and associated documentation and data. This is in contrast to hardware, from which the system is built and which actually performs the work. At the lowest programming level, executable code consists ...
. Some steps of the process may require human intervention, such as an approval or the development of custom text, but functions that can be automated should be handled by the application. Advanced applications allow users to introduce new components into the operation. For example, consider a
purchase order A purchase order is a commercial document and first official offer issued by a buyer to a seller, indicating types, quantities, and agreed prices for products or services. It is used to control the purchasing of products and services from externa ...
that moves through various departments for authorization and eventual purchase. The order may be moved from department to department for approval automatically. When all authorizations are obtained, the requester of the purchase order is notified and given the authorization. A workflow process may involve frequent maintenance. For example, the normal approver of purchase orders may be on vacation, in which case, the application will request approval from alternate approvers.


Development

Workflow applications can be developed using a graphical designer, a programming language, or a combination of the two. Some software products provide a means to create workflow applications with a diagram-based graphical designer alone. These types of systems rely on the ability to capture all of the information relevant to the workflow process through a specialized interface aimed at non-programmers, and then compile that information into a functional workflow application. Sometimes, however, the need for utilizing a programming language arises when more complex rules need to be integrated into the workflow, such as calculations for validating data in input forms. For code-based workflow design, workflow applications can be developed with any general-purpose
programming language A programming language is a system of notation for writing computer programs. Most programming languages are text-based formal languages, but they may also be graphical. They are a kind of computer language. The description of a programming ...
, but specialized workflow languages also exist. These usually come with an associated graphical notation (such as
BPMN Business Process Model and Notation (BPMN) is a graphical representation for specifying business processes in a business process model. Originally developed by the Business Process Management Initiative (BPMI), BPMN has been maintained by the ...
), but some are textual or
XML Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable. T ...
-based. Specialized languages that can be used for workflow definition in this way include: *
XPDL The XML Process Definition Language (XPDL) is a format standardized by the Workflow Management Coalition (WfMC) to interchange business process definitions between different workflow products, i.e. between different modeling tools and management su ...
*
YAWL A yawl is a type of boat. The term has several meanings. It can apply to the rig (or sailplan), to the hull type or to the use which the vessel is put. As a rig, a yawl is a two masted, fore and aft rigged sailing vessel with the mizzen mast p ...
(Yet Another Workflow Language) * SCUFL (Simple Conceptual Unified Flow Language) The above languages are based on XML syntax and while suitable for manipulation by software, they may be difficult for non-technical people to work with. Therefore, their use is generally augmented by graphical notations enabling the creation of flowchart-like diagrams that are easier for people to develop and interpret: creating such diagrams is in effect a form of "graphical" programming. The software package that allows a user to develop a workflow diagram will typically translate a diagram into its XML equivalent. Another approach to develop workflow applications is to use a programming language in conjunction with libraries and interfaces that capture abstractions for task coordination. The following are examples of such libraries and interfaces: *
Windows Workflow Foundation Windows Workflow Foundation (WF) is a Microsoft technology that provides an API, an in-process workflow engine, and a rehostable designer to implement long-running processes as workflows within .NET applications. The latest version of WF was re ...
(WF) * Workflow OSID The use of
libraries A library is a collection of materials, books or media that are accessible for use and not just for display purposes. A library provides physical (hard copies) or digital access (soft copies) materials, and may be a physical location or a vir ...
is generally complementary to diagramming techniques, which are not always sufficient by themselves to create fully functional applications (unless the diagramming tool is part of a specific workflow management system). WF workflows, for example, can be created using Microsoft Visual Studio diagrammatically (their XML equivalent is
XAML Extensible Application Markup Language (XAML ) is a declarative XML-based language that Microsoft developed for initializing structured values and objects. It is available under Microsoft's Open Specification Promise. XAML is used extensively ...
), and their functionality augmented with code written in C# or VB.NET: a given workflow can be called by an existing software application as a Web service. Software development tools such as Visual Studio or the numerous coding environments for Java will also allow particular components to be designed entirely in code and then used as building blocks in workflow diagrams after they are compiled. One limitation of certain purely diagram-based techniques, such as BPMN above, is that to fit the purpose of workflow specification, such notations need to be enhanced with additional constructs to capture data passing, data transformations and routing conditions, to bind tasks to their implementation, etc. BPMN, while intended to serve as a standard, is deficient in this regard, and so several commercial packages (such as Microsoft Biztalk) address these needs in proprietary ways (specifically, by enhancing the basic set of diagramming icons with additional icons that support the needed functionality). For the purpose of static analysis, e.g. to detect semantic errors at design-time, it is also possible to represent workflow in a mathematical form using a formal notation such as
Petri net A Petri net, also known as a place/transition (PT) net, is one of several mathematical modeling languages for the description of distributed systems. It is a class of discrete event dynamic system. A Petri net is a directed bipartite graph that ...
s.


References


External links

*{{Commonscatinline, Workflow applications Application